Punto final ROI recortado (solo clasificación)
Overview
El cropped_roi endpoint proporciona acceso a Regiones de Interés (ROI) recortadas generadas a partir de resultados de clasificación en Haystack que se ejecuta en el dispositivo.
Importante: Este endpoint funciona solo para resultados de tipo clasificación. El tipo de segmentación no es compatible para el recorte de ROI a través de este endpoint.
El formato base de la URL es:
http://{device-ip}/edge/haystack/cropped_roi/{classification_result_id}
Cómo Funciona
Cuando la cámara completa una captura de clasificación, el flujo de Node-RED genera dinámicamente URLs para las imágenes ROI recortadas al emparejar la IP del dispositivo y el ID del resultado de clasificación:
const imageUrl = `http://${baseUrl}/edge/haystack/cropped_roi/${result.id}`;
Cada URL sirve una imagen recortada que corresponde a una ROI de clasificación individual, típicamente que representa una única inspección.
Resumen del flujo de Node-RED
El flujo ROI_Crop realiza lo siguiente:
-
Extrae la IP del dispositivo
- Analiza el campo
image_urlpara localizar la IP (p. ej.,192.168.0.101) - La almacena globalmente para su reutilización
- Analiza el campo
-
Consulta los datos de captura más recientes
-
Envía una solicitud GET a la API PostgREST del dispositivo:
http://{device-ip}/postgrest/captures?select=...
&order=id.desc&limit=1 -
Recupera la captura más reciente y todas las entradas de classification_result
-
-
Filtra solo resultados de clasificación
-
Omite resultados de segmentación o alineación
-
Itera sobre cada resultado de clasificación:
classificationResults.forEach(result => {
const roiName = result.roi_result?.inspection_region?.name || `ROI_${result.id}`;
const imageUrl = `http://${baseUrl}/edge/haystack/cropped_roi/${result.id}`;
imageMap[roiName] = imageUrl;
});
-
-
Genera las URL de ROI recortados
- Guarda todos los enlaces de imágenes ROI en un mapa global
imageMap - Devuelve la lista de las últimas URL de ROI recortados
- Guarda todos los enlaces de imágenes ROI en un mapa global

Uso de ejemplo
Obtener una imagen ROI recortada
curl http://192.168.0.101/edge/haystack/cropped_roi/42 -o roi_42.jpg
Usar en una interfaz web
<img src="http://192.168.0.101/edge/haystack/cropped_roi/42" alt="Cropped ROI 42">
Ejemplo de salida
{
"ROI_1": "http://192.168.0.101/edge/haystack/cropped_roi/1",
"ROI_2": "http://192.168.0.101/edge/haystack/cropped_roi/2"
}
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
device-ip | string | Dirección IP de la cámara (p. ej., 192.168.0.101) |
Flujo de Integración
- Adquiere metadatos de la captura más reciente a través de
/postgrest/captures. - Identifica los IDs disponibles de
classification_result. - Construye URL de ROI recortadas para cada resultado.
- Muestra o descarga esas imágenes para análisis, datos de entrenamiento o inspección de calidad.
Descargar Flujo de Node-RED
- ROI Crop Flow (JSON) - Flujo completo de Node-RED para la extracción de imágenes ROI recortadas
- Importa este flujo directamente en Node-RED para acceder a ROIs de clasificación recortadas
- Funciona con sistemas OV20i y OV80i